package com.namecard.namecardapi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.namecard.namecardapi.entity.AccountInfo;
import com.namecard.namecardapi.entity.vo.UserAccountVO;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wzx
 * @since 2023-07-03
 */
public interface AccountInfoService extends IService<AccountInfo> {

    /**
     * 充值业务
     * @param piNum 充值pi币的数额
     * @param userId 用户id
     * @return 结果
     */
    int recharge(BigDecimal piNum, String userId);

    /**
     * 积分提高名片曝光率
     * @param methodId 兑换方案id
     * @param userId 用户id
     */
    void raiseExposure(Integer methodId, String userId);

    /**
     * 获取用户的剩余pi币和积分数据
     * @param userId 用户id
     * @return pi和积分数据
     */
    UserAccountVO getUserAccountInfo(String userId);
}
